package com.itcam.string_;

public class String01 {
    public static void main(String[] args) {
        // 1.String 对象用于保存字符串，也就是一组字符序列
        // 2. "cammy" 字符串常量, 双引号括起的字符序列
        // 3. 字符串的字符使用Unicode字符编码，一个字符(不区分字母还是汉字)占两个字节
        // 4. String类有很多构造器，构造器的重载
        //      String s1 = new String();
        //      String s2 = new String(String original);
        //      String s3 = new String(char[] a);
        //      String s4 = new String(char[] a,int startIndex,int count);
        //      String s5 = new String(byte[] b);
        //5. String类实现了:
        //                  接口Serializable[String 可以串行化:可以在网络传输]
        //                  接口Comparable [String 对象可以比较大小]
        //6. String是final类，不能被其他的类继承
        //7. String有属性private final char value[]; 用于存放字符串内容
        //8. 一定要注意：value是一个final类型，不可以修改：即value不能指向新的地址，但是单个字符内容是可以变化

        //Declare a String variable called "name" and assign it the value "cammy"
        String name = "cammy";
        //Assign the value "kim" to the variable "name"
        name = "kim";
        System.out.println("name = " + name);
        //Declare a char array called "value" and assign it the value {'k','i','m'}
        final char[] value = {'k', 'i', 'm'};
        System.out.println("value = " + value);
        //Declare a char array called "v" and assign it the value {'k','i','m'}
        char[] v = {'k', 'i', 'm'};
        //Assign the value 'K' to the element at index 0 of the "value" array
        value[0] = 'K';
        System.out.println("value = " + value);;
        //value = v; 不可以修改value地址
    }
}
